package com.softtown.modules.sys.service;

import com.softtown.common.page.PageData;
import com.softtown.common.service.BaseService;
import com.softtown.common.utils.Result;
import com.softtown.modules.sys.dto.CompSysRoleDTO;
import com.softtown.modules.sys.entity.CompSysRoleEntity;
import com.softtown.modules.sys.vo.CompSysRoleVO;

import java.util.List;
import java.util.Map;

/**
 * @version v1.0
 * @ProjectName: softtown-aioffice
 * @ClassName: CompSysRoleService
 * @Description: 公司-角色Service接口层
 * @Author: fuming
 * @Date: 2019/6/4 14:09
 */
public interface CompSysRoleService extends BaseService<CompSysRoleEntity> {

    /**
     * 根据公司所属的ID来获取相应的所有角色
     * @param companyId
     * @return java.util.List<com.softtown.modules.sys.vo.CompSysRoleVO>
     * @Author fuming
     * @Date 2020/5/27 11:20
     */
    List<CompSysRoleVO> getListByCompId(Long companyId);

    /**
     * 激活用户
     *
     * @param id
     * @return
     * @author Dingyayong
     * @date 2019/6/6 11:31
     */
    Result activate(Long id);

    /**
     * 分页信息
     *
     * @param params
     * @return
     * @author Dingyayong
     * @date 2019/6/6 11:31
     */
    PageData<CompSysRoleDTO> page(Map<String, Object> params);

    /**
     * 删除
     * @param id
     * @return void
     * @Author fuming
     * @Date 2020/5/27 11:21
     */
    void deleteRole(Long id);

    /**
     * 获取
     *
     * @param id
     * @return
     * @author Dingyayong
     * @date 2019/6/6 11:31
     */
    CompSysRoleDTO get(Long id);

    /**
     * 更新
     *
     * @param compSysRoleDTO
     * @return
     * @author Dingyayong
     * @date 2019/6/6 11:31
     */
    void updateRoleInfo(CompSysRoleDTO compSysRoleDTO);
    /**
     * 增加
     *
     * @param compSysRoleDTO
     * @return
     * @author Dingyayong
     * @date 2019/6/6 11:31
     */
    void addRoleInfo(CompSysRoleDTO compSysRoleDTO);

    /**
     * 查询角色表信息
     * @param compId
     * @param roleName
     * @return com.softtown.modules.sys.entity.CompSysRoleEntity
     * @Author fuming
     * @Date 2020/5/27 11:20
     */
    CompSysRoleEntity getByCompIdAndRoleName(Long compId, String roleName);
}
